PVE直通核显

您所在的位置:网站首页 pve 直通核显无输出信号 PVE直通核显

PVE直通核显

2024-07-16 06:56| 来源: 网络整理| 查看: 265

Proxmox Virtual Environment 7.1-7  J4125  UHD600

使用  PVE 7.1-7 最新版本目前全网没有任何资料,折腾了三个晚上终于成了,现在写个教程

开启直通

首先有一个特别重要的事情,需要在bios里开启vt-d,csm,并且video必须是legacy,否则直通显卡后虚拟机直接无法启动,至于pve用什么方式启动这个无所谓

nano /etc/default/grub

把 GRUB_CMDLINE_LINUX_DEFAULT 那行改成这样这是GVT模式,也就是共享模式,少部分cpu支持,但体验很好

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt i915.enable_gvt=1 video=efifb:off"

这是独占模式,都支持,但显示器没有pve的控制台输出,也只能直通个一个虚拟机

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt video=efifb:off"nano /etc/modules

把这些填进去

vfio vfio_iommu_type1 vfio_pci vfio_virqfd kvmgt

允许不安全中断

nano /etc/modprobe.d/iommu_unsafe_interrupts.conf

把这行填进去

options vfio_iommu_type1 allow_unsafe_interrupts=1

避免死机

nano /etc/modprobe.d/kvm.conf

把这行填进去

options kvm ignore_msrs=1

更新引导和内核,然后重启pve

update-initramfs -u update-grub

查看核显pcie设备id,记下来,待会用到

lspci -nn

从这里可以看出,核显位置是在00:02.0,并且id是8086:3185,下面的声卡同理

00:02.0 VGA compatible controller [0300]: Intel Corporation GeminiLake [UHD Graphics 600] [8086:3185] (rev 06) 00:0e.0 Audio device [0403]: Intel Corporation Celeron/Pentium Silver Processor High Definition Audio [8086:3198] (rev 06

上面改了GVT模式的,先看看核显支不支持GVT,这个文件夹下面有i915-GVT之类就是支持,可以同时直通给多个虚拟机同时用,并且直接在图形界面选了就行,后面不用看了不支持的话,看上面重改/etc/default/grub换成独占模式,重启,然后继续后面的步骤

ls /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types

添加到vfio的配置中,如果hdmi无法显示,那请去掉这条配置

nano /etc/modprobe.d/vfio.conf

举个例子,两组id自己改成自己的

options vfio-pci ids=8086:3185,8086:3198

屏蔽驱动

nano /etc/modprobe.d/blacklist.conf

把这些填进去

blacklist snd_hda_intel blacklist snd_hda_codec_hdmi blacklist i915提取 vbios.bin

如果您也是J4125,那么你可以直接用这个改好的 j4125.zip,解压了把它放到/usr/share/kvm中,然后配置虚拟机

另外群友 心- 提供了另一个,如果你的4125怎么都不亮,可以试试这个vbios vbios_j4125.bin.zip

必须开csm并且设置成传统的video才能读出来,没有vbios大概也能用,懒的话可以先试试插HDMI能不能亮

进去核显的位置并且提取vbios,举个例子,位置换成你自己的

cd /sys/bus/pci/devices/0000:02:00.0

echo 1 > romcat rom > /usr/share/kvm/vbios.binecho 0 > rom

安装工具

apt install gcc make git cd ~ git clone https://github.com/awilliam/rom-parser cd rom-parser make

修复id不对的问题,举个例子,按提示改成你自己的id

./rom-fixer /usr/share/kvm/vbios.bin Valid ROM signature found @0h, PCIR offset 40h PCIR: type 0 (x86 PC-AT), vendor: 8086, device: 15f3, class: 020000 PCIR: revision 3, vendor revision: 201 Modify vendor ID 8086? (y/n): n Modify device ID 15f3? (y/n): y New device ID: 3185 Overwrite device ID with 3185? (y/n): y Valid ROM signature found @f000h, PCIR offset 1ch PCIR: type 3 (EFI), vendor: 8086, device: 15f3, class: 000000 PCIR: revision 3, vendor revision: 902 EFI: Signature Valid, Subsystem: Boot, Machine: X64 Modify vendor ID 8086? (y/n): n Modify device ID 15f3? (y/n): y New device ID: 3185 Overwrite device ID with 3185? (y/n): y Last image ROM checksum is invalid, fix? (y/n): y配置虚拟机

我这里是一个win10 ltsc的虚拟机,虚拟机id是100,请注意下面的命令里的虚拟机id改成你自己的在图形界面上虚拟机硬件添加pci设备,只需要勾选PCI-Express回到命令行,改虚拟机配置文件

nano /etc/pve/qemu-server/100.conf

在显卡那条hostpci的最后加上,romfile=vbios.bin

hostpci0: 0000:00:02.0,pcie=1,romfile=vbios.bin

如果上面的方法不行,那就删掉hostpci0那行,在文件最上面加上这行,并且把 显示 设置成 无,不加romfile大概也能用,可以先试试

args: -device vfio-pci,host=00:02.0,addr=0x02,x-igd-gms=1,romfile=vbios.bin

然后开虚拟机装驱动就完事了,虚拟机必须是SeaBIOS的传统启动,此处显卡驱动必须得是26.20.100.7262版本的,不然就会黄三角,已经往咩咩乐园群共享传了一份,可以去下载在设备管理器手动装测试过好了之后,去编辑把主gpu勾上,这样虚拟机的bios都会显示在显示器上了

其他n5105实测没法直通,通进去了也是没有任何硬件加速的,intel在驱动里下毒了虚拟机里声卡明明有设备有驱动用不了,其实不是声卡驱动问题,而是要关机物理机再开机,第一次开直通的虚拟机的时候声卡就是可以用的,但是虚拟机再次开机声卡就用不了了,又是intel搞的鬼顺便扯一下,在bios的 Device... -> OVMF... 中可以修改虚拟显示器的分辨率,或者使用spice都可以修改默认的800x600


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3